/**
 * 
 */
package model;

import java.io.Serializable;
import java.util.Date;

/**
 * @author ldonker
 * 
 */
public class Reservierung implements Serializable{
	private static final long serialVersionUID = -588911383972619474L;

	private int reservierungsNR = 0;
	private Anhaenger anhaenger;
	private Kunde kunde;
	private Date startzeitraum;
	private Date endzeitraum;
	private int tage = 0;
	
	private int anhaengerNr;
	private int kundenNr;

	
	public Reservierung() {
		this.anhaenger = new Anhaenger();
		this.kunde = new Kunde();
	}
	
	public Reservierung(int reservierungsNr, int anhaengerNr, int kundenNr){
		this.reservierungsNR = reservierungsNr;
		this.anhaengerNr = anhaengerNr;
		this.kundenNr = kundenNr;
	}


	public Reservierung(int reservierungsNR, Anhaenger anhaenger, Kunde kunde,
			Date startzeitraum, Date endzeitraum, int tage) {
		this.reservierungsNR = reservierungsNR;
		this.anhaenger = anhaenger;
		this.kunde = kunde;
		this.startzeitraum = startzeitraum;
		this.endzeitraum = endzeitraum;
		this.tage = tage;
	}

	public int getTage() {
		return tage;
	}

	public void setTage(int tage) {
		this.tage = tage;
	}

	public int getReservierungsNR() {
		return reservierungsNR;
	}

	public void setReservierungsNR(int reservierungsNR) {
		this.reservierungsNR = reservierungsNR;
	}

	public Anhaenger getAnhaenger() {
		return anhaenger;
	}

	public void setAnhaenger(Anhaenger anhaenger) {
		this.anhaenger = anhaenger;
	}

	public Kunde getKunde() {
		return kunde;
	}

	public void setKunde(Kunde kunde) {
		this.kunde = kunde;
	}

	public Date getStartzeitraum() {
		return startzeitraum;
	}

	public void setStartzeitraum(Date startzeitraum) {
		this.startzeitraum = startzeitraum;
	}

	public Date getEndzeitraum() {
		return endzeitraum;
	}

	public void setEndzeitraum(Date endzeitraum) {
		this.endzeitraum = endzeitraum;
	}
	
	public boolean checkIfComplete(){
		if(!anhaenger.checkIfComplete() || !kunde.checkIfComplete() || startzeitraum == null || endzeitraum == null || tage == -1){
			return false;
		}
			return true;
	}
	
	public int getAnhaengerNr(){
		return this.anhaengerNr;
	}
}
